/**
 * @see https://leetcode-cn.com/problems/longest-increasing-subsequence/
 * 给你一个整数数组 nums ，找到其中最长严格递增子序列的长度。
 * 子序列是由数组派生而来的序列，删除（或不删除）数组中的元素而不改变其余元素的顺序。例如，[2,3,7,101] 是数组 [10,9,2,5,3,7,101,18] 的子序列。
 * @param {number[]} nums
 * @return {number}
 */
var lengthOfLIS = function (nums) {
  let pts = new Array(nums.length).fill(1);
  for (let i = 0; i < nums.length; i++) {
    const A = nums[i];
    for (let j = 0; j < i; j++) {
      const B = nums[j];
      // 升序
      if (B < A) {
        pts[i] = Math.max(pts[i], pts[j] + 1);
      }
    }
  }
  return Math.max.apply(null, pts);
};

console.log(lengthOfLIS([10, 9, 2, 5, 3, 7, 101, 18]))